/**
 * PiecesMoves.java
 * Auti i class kali mia ali class ( auti pou hromatizi tis pithanes kinisis tou kathe pioniou ) 
 * kai an i kinisi ine nomimi epistrefete mia boolean ( true ) metavliti.
 */

package chess;


public class PiecesMoves{
    
    /**
     * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece Pawn.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece Pawn.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean pawnMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
     /**
      * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece king.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece king.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece king.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece king.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean kingMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
    /**
     * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece Queen.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece Queen.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece Queen.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece Queen.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean queenMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
    /**
     * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece Rook.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece Rook.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece Rook.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece Rook.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean rookMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
    /**
     * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece Bishop.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece Bishop.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece Bishop.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece Bishop.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean bishopMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
    /**
     * precondition: -1<Xbefore<9 -1<Ybefore<9 -1<Xafter<9 -1<Yafter<9
     * @param Xbefore I arhiki X diastasti apo tin 2D diastasi tou piece Knight.
     * @param Ybefore I arhiki Y diastasti apo tin 2D diastasi tou piece Knight.
     * @param Xafter I teliki X diastasti apo tin 2D diastasi tou piece Knight.
     * @param Yafter I teliki Y diastasti apo tin 2D diastasi tou piece Knight.
     * @return An i kinisi ine ondos nomimi tote epistrefete mia true boolean metavliti, alios mia false.
     */
    public boolean knightMove(int Xbefore, int Ybefore ,int Xafter, int Yafter){
        boolean permit=false;
        //TODO kalesma tis class pou ipodiknii oles tis pithanes kinisis.
        return permit;
    }
    
}